<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de consultation
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 2 || $GLOBALS['USER']['admin'])){

?>
<?php
//------------------------------------------------------------ Définition des variables d'affichage

	// variable indiquant la page sélectionnée
	if(isset($_GET['l']) && numericInt($_GET['l'])){ 
		$page = $_GET['l'];
	}else{
		$page = 1;
	}
		
	// variable indiquant l'ordre selon lequel on tri la liste
	if(isset($_GET['o'])){
		switch($_GET['o']){
		case 0: $ordre = 0; $ordreBDD = "ASC"; break;
		case 1: $ordre = 1; $ordreBDD = "DESC"; break;
		default: $ordre = 0; $ordreBDD = "ASC"; break;
		}
	}else{
		$ordre = 0;
		$ordreBDD = "ASC";
	}
	
	// variable indiquant la colonne selon laquelle on tri la liste
	if(isset($_GET['t'])){
		switch($_GET['t']){
		case 1: $tri = 1; $triBDD = "ref ".$ordreBDD; break;
		case 2: $tri = 2; $triBDD = "nom ".$ordreBDD; break;
		case 3: $tri = 3; $triBDD = "type ".$ordreBDD; break;
		case 4: $tri = 4; $triBDD = "theme ".$ordreBDD; break;
		default: $tri = 2; $triBDD = "nom ".$ordreBDD; break;
		}
	}else{
		$tri = 2;
		$triBDD = "nom ".$ordreBDD;
	}
	
	// Traitement des options
	$opt_let = "all";
	if(isset($_GET['opt_let'])){
		if(mb_ereg("[a-z]", $_GET['opt_let'])){
			$opt_let = $_GET['opt_let'];
		}
	}
	
?>
<?php
//------------------------------------------------------------ Récupération de la liste des références

	// On compte le nombre total de références enregistrées
	$nb_total_references = 0;
	
	$query_compte_references = "SELECT COUNT(*) ";
	$query_compte_references .= "FROM reference ";
	if($opt_let!="all"){
		$query_compte_references .= "WHERE TITREREFERENCE LIKE '".$opt_let."%' ";
	}
	
	$result_compte_references = mysql_query($query_compte_references, $connexion) or logError("COMPTE REFERENCE-".$query_compte_references."-".mysql_error());
	
	$tab_compte_references = mysql_fetch_row($result_compte_references);
	
	$nb_total_references = $tab_compte_references[0];
	
	mysql_free_result($result_compte_references);
	
	// récupération des informations des références
	$query_recuperation_liste_references = "SELECT r.CODEREFERENCE AS id, r.TITREREFERENCE AS nom, r.REFERENCEJARDIN AS ref, ty.NOMTYPEREFERENCE AS type, th.NOMTHEMATIQUE AS theme ";
	$query_recuperation_liste_references .= "FROM reference r ";
	$query_recuperation_liste_references .= "INNER JOIN type_reference ty ON r.CODETYPEREFERENCE = ty.CODETYPEREFERENCE ";
	$query_recuperation_liste_references .= "INNER JOIN thematique th ON r.CODETHEMATIQUE = th.CODETHEMATIQUE ";
	if($opt_let!="all"){
		$query_recuperation_liste_references .= "WHERE r.TITREREFERENCE LIKE '".$opt_let."%' ";
	}
	
	$query_recuperation_liste_references .= "ORDER BY ".$triBDD." ";
	$query_recuperation_liste_references .= "LIMIT ".(($page-1)*$GLOBALS['CONFIG']['nbParPage']).", ".($GLOBALS['CONFIG']['nbParPage'])." ";
	
	$result_recuperation_liste_references = mysql_query($query_recuperation_liste_references, $connexion) or logError("RECUPERATION LISTE REFERENCES-".$query_recuperation_liste_references."-".mysql_error());
	
	$lst_references = array(); // on créé un tableau qui contient la liste des références ainsi que les informations de chacune
	$nb_references = 0;
	while($tab_recuperation_liste_references = mysql_fetch_assoc($result_recuperation_liste_references)){
	
		$lst_references[$nb_references] = $tab_recuperation_liste_references;
		$nb_references++;
		
	}
	$nbPages = $GLOBALS['CONFIG']['nbParPage'];
	mysql_free_result($result_recuperation_liste_references);

?>
<a name="liste"></a>
<h2>Liste des documents</h2>

<?php

   $tabth = array ('Ref. Jardin','Titre','Type','Thème');
   
   for($i=0;$i<$nbPages && $i<$nb_references;$i++){
   
      $tab_result[$i] = array(   htmlentities($lst_references[$i]['id'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities($lst_references[$i]['nom'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities($lst_references[$i]['ref'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities($lst_references[$i]['type'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities($lst_references[$i]['theme'], ENT_NOQUOTES, "UTF-8") );
   
   }


   displayListe("reference",700,$nb_total_references,$opt_let,'_popup',1,''); 

//------------------------------------------------------------ Accès refusé à la page

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>